package fr.pioug.gdocs.service;

import java.util.*;

/**
 * @author a011228
 * @version
 */
public class SyncZipService extends SyncService {
	private static SyncZipService mSyncService = null;

	/**
	 * @param pObserver
	 * @return
	 */
	public static SyncService getInstance(Observer pObserver) {
		if (mSyncService == null) {
			mSyncService = new SyncZipService();
			mSyncService.addObserver(pObserver);
		}
		return mSyncService;
	}

	@Override
	protected void doJob(GDocsService pGDocsService) {
		// TODO Auto-generated method stub

	}

	// protected void doJob(GDocsService pGDocsService) {
	// if (pGDocsService != null) {
	// pGDocsService.createZip(new File("backup.zip"));
	// }
	// }

	// public void createZip(File pFile) {
	//
	// try {
	// LogService.debug("Create the ZIP file " + pFile.getName(),
	// GDocsService.class);
	// ZipOutputStream lOut = new ZipOutputStream(new FileOutputStream(
	// pFile));
	//
	// zipDir(this.getTree(), lOut);
	// // Complete the ZIP file
	// lOut.close();
	//
	// } catch (Exception lException) {
	// // TODO Auto-generated catch block
	// lException.printStackTrace();
	// }
	//
	// }
	//
	// public void zipDir(GDocsFile pDocsFile, ZipOutputStream zos) {
	// try {
	// // loop through dirList, and zip the files
	// for (GDocsFile lDocsFile : pDocsFile.getListGDocs()) {
	// if (lDocsFile.isDirectory()) {
	// zipDir(lDocsFile, zos);
	//
	// }
	// ZipEntry anEntry = new ZipEntry(
	// lDocsFile.getPath() != null ? lDocsFile.getPath()
	// + lDocsFile.getName()
	// + getExtension(lDocsFile.getEntryServer())
	// : lDocsFile.getName()
	// + getExtension(lDocsFile
	// .getEntryServer()));
	// zos.putNextEntry(anEntry);
	// zos.write(fetchDocument(lDocsFile.getEntryServer()));
	// }
	// } catch (Exception e) {
	// // handle exception
	// }
	// }
	//
	// private String getExtension(DocumentListEntry pDocumentListEntry) {
	// String lStr = ".doc";
	// String lType = pDocumentListEntry.getId().split("%3A")[0];
	// lType = lType.substring(lType.lastIndexOf("/") + 1);
	// if ("document".equals(lType)) {
	// lStr = ".doc";
	// } else if ("spreadsheet".equals(lType)) {
	// lStr = ".xls";
	// } else if ("presentation".equals(lType)) {
	// lStr = ".ppt";
	// }
	// return lStr;
	// }

}
